不使用任何中间变量如何将a、b的值进行交换(三种方法) | 您所在的位置:网站首页 › 交换变量a和b的值 python › 不使用任何中间变量如何将a、b的值进行交换(三种方法) |
方法1.通过相加减可以达到两数交换的目的,优点省事嘛,缺点就是有可能会产生数据溢出的情况。 代码如下: #define _CRT_SECURE_NO_WARNINGS #include int main() { int a = 5, b = 15; a = a + b; b = a - b; a = a - b; printf("a=%d b=%d\n", a, b); system("pause"); return 0; }运行结果: a = 15 , b = 5 方法2.使用乘除使两数交换,优点就不说了,缺点也是可能会溢出。 代码展示: #define _CRT_SECURE_NO_WARNINGS #include int main() { int a = 5, b = 15; a = a*b; b = a / b; a = a / b; printf("a=%d b=%d\n", a, b); system("pause"); return 0; }运行结果: a = 15 , b = 5 方法3.对两数进行异或运算,利用异或的自反性,这种方法效率最高,且不会产生越界。(推荐使用) 代码如下: #define _CRT_SECURE_NO_WARNINGS #include int main() { int a = 5, b = 15; a = a^b; b = a^b; a = a^b; printf("a=%d b=%d\n", a, b); system("pause"); return 0; }运行结果: a = 15 , b = 5 |
CopyRight 2018-2019 实验室设备网 版权所有 |